1. Field of the Invention
Disclosed are arrangements related to the delivery of broadcast radio or television on the Internet with the associated ability to replace portions of the broadcast content with alternative content for the Internet audience, and to dynamically present audio and video content on the audience media players under the control of a radio or TV station personality.
2. Description of the Prior Art
For convenience of discussion, this document will use the term “radio” with the understanding that the embodiments described herein apply to both radio and television. In the radio broadcast industry, the over-the-air broadcast is referred to as a “terrestrial” broadcast, differentiating from satellite and Internet broadcasts. The delivery of a terrestrial broadcast on the Internet is commonly referred to as webcasting, simulcasting, or streaming.
In a radio broadcast environment the radio stations use broadcast automation systems, which are computer based products that manage their playlists and jingles and provide timing for DJ chat, and play music, recorded audio programs, commercials, and associated material.
In a conventional streaming configuration, there will be a computer running a specialized type of software referred to as an encoder at the radio broadcaster's location. That encoder receives audio from the radio station's audio chain, and receives metadata from the radio station's automation system in association with the audio stream to identify content elements. Content elements can include data such as the artist and title of the music that is playing, the duration of the song, identifying if the content element is an advertisement, identifying if that advertisement is eligible to be or must be replaced with alternate content for the Internet stream, and identifying other types of content such as radio station jingles and sweepers and the like. The encoder typically receives analog audio from the conventional audio source, which is converted by the system sound card into PCM format of digital audio, and the encoder then converts that PCM audio into a final digital stream format using whatever codec has been selected for the process. Some common formats include MP3 and WMA.
Most radio station webcasting environments are three-tier architecture, with the encoder residing at the broadcaster's location, one or more servers residing at a centralized location serving as the mass distribution point to Internet clients, and a multiplicity of client computers or devices which connect to the stream at the mass distribution point. The encoder receives the station's audio stream in analog format, encodes it into an appropriate digital format, transmits the encoded audio to the centralized server, and the centralized server than redistributes that encoded audio to the clients. User devices connect to the centralized server because the link on the station's web page points to the centralized server.
The centralized servers also may perform functions beyond redistributing media data to client devices, such as the provision of web services. These operations and functions may be split amongst multiple servers. For simplicity, though, we may conveniently refer to all these operations as “the media server”, or “the distribution server”.
For purposes of this discussion the terms client and client device or client system generally refer to a software system which most commonly comprises a web page incorporating a media player object along with customized software to manage the media player object such as providing buttons for Stop, Start, etc. A media player object is a software structure that gets incorporated into the web page and performs the decoding and playing of audio and visual content. Media players can also be desktop applications such as WinAmp and the Windows Media Player, and they can be software applications incorporated into hardware appliances such as Internet radios, which are physical devices having Internet connectivity, and can connect to streaming media and play that content.
In order for content replacement to be acceptable to listeners the replacement needs to be seamless. That means there should be no audible or visual glitches such as snippets of the content to be replaced bleeding through into the Internet content nor should there be Internet content running on over the beginning of the next content element, etc.
There are delays of a relatively unpredictable nature that are introduced throughout this three-tier architecture. For example, the encoder introduces a delay in the process of converting the audio into the desired codec format, there may be a small but perhaps not negligible delay in the transmission of the data from the encoder to the centralized servers, there will be a buffering delay at the servers, there may be other delays in the network transmission from the centralized server location to the end-user client, and if the client's network connection is slow or of poor quality that delay may be noticeable, and lastly the client itself will introduce a buffering delay. However, most listeners will be unaware that there is any delay at all of the Internet stream compared to the terrestrial broadcast—one of the few ways a user might discover this is if the radio station announces the time and the user simultaneously checks a clock.
There are advantages to being able to customize a stream for each listener, particularly by performing ad replacements wherein the replacement ads are selected for each user or demographic group of users. We had solved this problem some years ago, as described in our U.S. Pat. No. 7,490,053, using a model wherein the replacements and insertions take place at the centralized server location, and a new single composite stream containing the replacement content is created uniquely for each client, and then distributed to those clients.
There also are arrangements for ad replacement at the client device; TargetSpot is an ad delivery vendor whose system provides for demographically targeted audio ads that replace in-stream audio ads at the client. In the TargetSpot system, a TargetSpot Flash Media Player object is embedded in the client's media player webpage. The streaming vendor (such as SurferNETWORK), is responsible for providing the appropriate software at the encoder, at the centralized server, and in the client media player web page in order to call the TargetSpot Flash player with the appropriate instruction at the appropriate time. In essence, the TargetSpot system says “I'll play an ad whenever you tell me to, but you have to figure how to do that”. If you tell TargetSpot to play an ad at the wrong time, it will. If you don't tell it to play an ad at all, it won't play anything.